/**
 * 
 */
package pacMan;

import java.awt.Graphics2D;

/**
 * Class: EmptyPlaceHolder
 * 
 * Creates a reserved position to be marked in the ObjectLocationTracker.
 * A placeholder is not visible (nothing drawn on-screen) and cannot be
 * consumed. However it can be used to mark attributes at specified locations
 * on the game board that can help determine Actor behaviors.
 *  
 * @author 		Tomas Rivera
 * @version 	$Id$
 *
 */
public class EmptyPlaceHolder extends SuperpositionedStationaryObject {
	
	//////////////////////////////////////////////////////////
	// Constructor methods
	//////////////////////////////////////////////////////////

	/**
	 * Creates a blank object exists in multiple locations on the game board at once.
	 * Placeholder used to map out certain features of the maze, such as where tunnel
	 * locations are and positions where we are not allowed to draw any Pellets.
	 * 
	 * @param w
	 * @param objectLocationTracker
	 * @param tunnel
	 */
	public EmptyPlaceHolder(WindowParameters w, ObjectLocationTracker objectLocationTracker, boolean tunnel) {
		super(w, 0, objectLocationTracker);
		tunnelPlaceHolder = tunnel;
	}
	
	//////////////////////////////////////////////////////////
	// Overridden methods
	//////////////////////////////////////////////////////////

	/*
	 * (non-Javadoc)
	 * @see pacMan.SuperpositionedStationaryObject#drawSuperpositionedObject(java.awt.Graphics2D, pacMan.WindowParameters, int, int)
	 */
	@Override
	public void drawSuperpositionedObject(Graphics2D d, WindowParameters w, int xGrid, int yGrid) {
		/*int size = w.getPixelScale() / 2;
		d.drawRect(
				(xGrid * w.getPixelScale()) + w.getPixelOffsetX() - (size / 2),
				(yGrid * w.getPixelScale()) + w.getPixelOffsetY() - (size / 2), 
				size, size);
				*/
	}

	/*
	 * (non-Javadoc)
	 * @see pacMan.SuperpositionedStationaryObject#consumeObject(pacMan.Actor)
	 */
	@Override
	public void consumeObject(Actor consumer) { /* Do nothing */ }

	/*
	 * (non-Javadoc)
	 * @see pacMan.SuperpositionedStationaryObject#drawObject(java.awt.Graphics2D)
	 */
	@Override
	public void drawObject(Graphics2D d) { /* Do nothing */ }

	/*
	 * (non-Javadoc)
	 * @see pacMan.BasicDrawableObject#resizeObject()
	 */
	@Override
	public void resizeObject() { /* Do nothing */ }
}
